lexer grammar Gramatica;
@members {
	public Token nextToken() {
		while (true) {
			this.token = null;
			this.channel = Token.DEFAULT_CHANNEL;
			this.tokenStartCharIndex = input.index();
			this.tokenStartCharPositionInLine = input.getCharPositionInLine();
			this.tokenStartLine = input.getLine();
			this.text = null;
			if ( input.LA(1)==CharStream.EOF ) {
				return Token.EOF_TOKEN;
			}
			try {
				mTokens();
				if ( this.token==null ) {
					emit();
				}
				else if ( this.token==Token.SKIP_TOKEN ) {
					continue;
				}
				return this.token;
			}
			catch (RecognitionException re) {
				reportError(re);
				throw new RuntimeException("Bailing out!"); // or throw Error
			}
		}
	}
}
@header {
package gramaticaANTLR;
}

LLAVEIZQ : '{' ;
LLAVEDER : '}' ;
FLECHA : ':' ;
FINPROD : ';' ;

// $ANTLR src "/home/tinia/tl/repositorio/tptl/GeneradorTabla/gramaticaANTLR/Gramatica.g" 202
TERMINAL
	:	'a'..'z';

// $ANTLR src "/home/tinia/tl/repositorio/tptl/GeneradorTabla/gramaticaANTLR/Gramatica.g" 205
NOTERMINAL
	:	'A'..'Z';

// $ANTLR src "/home/tinia/tl/repositorio/tptl/GeneradorTabla/gramaticaANTLR/Gramatica.g" 208
WS: (' ' | '\n' | '\r' | '\t')+ {$channel=HIDDEN;} ; // ignore whitespace
